<?php declare(strict_types=1);


namespace App\Rpc\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 职位表
 * Class Tenant
 *
 * @since 2.0
 *
 * @Entity(table="tenant")
 */
class Tenant extends Model
{
    /**
     * 账号
     *
     * @Column()
     *
     * @var string
     */
    private $account;

    /**
     * 通信地址
     *
     * @Column()
     *
     * @var string
     */
    private $address;

    /**
     * app_check,做sass开放验证
     *
     * @Column(name="app_check", prop="appCheck")
     *
     * @var string
     */
    private $appCheck;

    /**
     * app_id,做sass开放账号
     *
     * @Column(name="app_id", prop="appId")
     *
     * @var string
     */
    private $appId;

    /**
     * app_secret,做sass开放秘钥
     *
     * @Column(name="app_secret", prop="appSecret")
     *
     * @var string
     */
    private $appSecret;

    /**
     * 联系人姓名
     *
     * @Column(name="contact_name", prop="contactName")
     *
     * @var string
     */
    private $contactName;

    /**
     * 联系人联系方式
     *
     * @Column(name="contact_phone", prop="contactPhone")
     *
     * @var string
     */
    private $contactPhone;

    /**
     * 创建时间 int
     *
     * @Column(name="created_at", prop="createdAt")
     *
     * @var int
     */
    private $createdAt;

    /**
     * 营业执照图片
     *
     * @Column()
     *
     * @var string
     */
    private $credit;

    /**
     * 统一信用代码
     *
     * @Column(name="credit_code", prop="creditCode")
     *
     * @var string
     */
    private $creditCode;

    /**
     * 是否冻结：0未冻结 1已冻结
     *
     * @Column(name="frozen_state", prop="frozenState")
     *
     * @var int|null
     */
    private $frozenState;

    /**
     * 主键id
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $id;

    /**
     * 身份证反面照片
     *
     * @Column(name="id_card_back", prop="idCardBack")
     *
     * @var string
     */
    private $idCardBack;

    /**
     * 身份证正面照
     *
     * @Column(name="id_card_face", prop="idCardFace")
     *
     * @var string
     */
    private $idCardFace;

    /**
     * 数据唯一ID
     *
     * @Column(name="item_id", prop="itemId")
     *
     * @var string
     */
    private $itemId;

    /**
     * 法人身份证号
     *
     * @Column(name="legal_code", prop="legalCode")
     *
     * @var string
     */
    private $legalCode;

    /**
     * 法人姓名
     *
     * @Column(name="legal_name", prop="legalName")
     *
     * @var string
     */
    private $legalName;

    /**
     * 公司logo
     *
     * @Column()
     *
     * @var string
     */
    private $logo;

    /**
     * 租户名称, 最长64字符，不可为空
     *
     * @Column()
     *
     * @var string
     */
    private $name;

    /**
     * 平台名称
     *
     * @Column(name="platform_name", prop="platformName")
     *
     * @var string
     */
    private $platformName;

    /**
     * 租户代号, 最长64字符，不可为空
     *
     * @Column()
     *
     * @var string
     */
    private $prefix;

    /**
     * 登记机关
     *
     * @Column(name="tax_authority", prop="taxAuthority")
     *
     * @var string
     */
    private $taxAuthority;

    /**
     * 更新时间 int
     *
     * @Column(name="updated_at", prop="updatedAt")
     *
     * @var int|null
     */
    private $updatedAt;


    /**
     * @param string $account
     *
     * @return self
     */
    public function setAccount(string $account): self
    {
        $this->account = $account;

        return $this;
    }

    /**
     * @param string $address
     *
     * @return self
     */
    public function setAddress(string $address): self
    {
        $this->address = $address;

        return $this;
    }

    /**
     * @param string $appCheck
     *
     * @return self
     */
    public function setAppCheck(string $appCheck): self
    {
        $this->appCheck = $appCheck;

        return $this;
    }

    /**
     * @param string $appId
     *
     * @return self
     */
    public function setAppId(string $appId): self
    {
        $this->appId = $appId;

        return $this;
    }

    /**
     * @param string $appSecret
     *
     * @return self
     */
    public function setAppSecret(string $appSecret): self
    {
        $this->appSecret = $appSecret;

        return $this;
    }

    /**
     * @param string $contactName
     *
     * @return self
     */
    public function setContactName(string $contactName): self
    {
        $this->contactName = $contactName;

        return $this;
    }

    /**
     * @param string $contactPhone
     *
     * @return self
     */
    public function setContactPhone(string $contactPhone): self
    {
        $this->contactPhone = $contactPhone;

        return $this;
    }

    /**
     * @param int $createdAt
     *
     * @return self
     */
    public function setCreatedAt(int $createdAt): self
    {
        $this->createdAt = $createdAt;

        return $this;
    }

    /**
     * @param string $credit
     *
     * @return self
     */
    public function setCredit(string $credit): self
    {
        $this->credit = $credit;

        return $this;
    }

    /**
     * @param string $creditCode
     *
     * @return self
     */
    public function setCreditCode(string $creditCode): self
    {
        $this->creditCode = $creditCode;

        return $this;
    }

    /**
     * @param int|null $frozenState
     *
     * @return self
     */
    public function setFrozenState(?int $frozenState): self
    {
        $this->frozenState = $frozenState;

        return $this;
    }

    /**
     * @param int $id
     *
     * @return self
     */
    public function setId(int $id): self
    {
        $this->id = $id;

        return $this;
    }

    /**
     * @param string $idCardBack
     *
     * @return self
     */
    public function setIdCardBack(string $idCardBack): self
    {
        $this->idCardBack = $idCardBack;

        return $this;
    }

    /**
     * @param string $idCardFace
     *
     * @return self
     */
    public function setIdCardFace(string $idCardFace): self
    {
        $this->idCardFace = $idCardFace;

        return $this;
    }

    /**
     * @param string $itemId
     *
     * @return self
     */
    public function setItemId(string $itemId): self
    {
        $this->itemId = $itemId;

        return $this;
    }

    /**
     * @param string $legalCode
     *
     * @return self
     */
    public function setLegalCode(string $legalCode): self
    {
        $this->legalCode = $legalCode;

        return $this;
    }

    /**
     * @param string $legalName
     *
     * @return self
     */
    public function setLegalName(string $legalName): self
    {
        $this->legalName = $legalName;

        return $this;
    }

    /**
     * @param string $logo
     *
     * @return self
     */
    public function setLogo(string $logo): self
    {
        $this->logo = $logo;

        return $this;
    }

    /**
     * @param string $name
     *
     * @return self
     */
    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }

    /**
     * @param string $platformName
     *
     * @return self
     */
    public function setPlatformName(string $platformName): self
    {
        $this->platformName = $platformName;

        return $this;
    }

    /**
     * @param string $prefix
     *
     * @return self
     */
    public function setPrefix(string $prefix): self
    {
        $this->prefix = $prefix;

        return $this;
    }

    /**
     * @param string $taxAuthority
     *
     * @return self
     */
    public function setTaxAuthority(string $taxAuthority): self
    {
        $this->taxAuthority = $taxAuthority;

        return $this;
    }

    /**
     * @param int|null $updatedAt
     *
     * @return self
     */
    public function setUpdatedAt(?int $updatedAt): self
    {
        $this->updatedAt = $updatedAt;

        return $this;
    }

    /**
     * @return string
     */
    public function getAccount(): ?string
    {
        return $this->account;
    }

    /**
     * @return string
     */
    public function getAddress(): ?string
    {
        return $this->address;
    }

    /**
     * @return string
     */
    public function getAppCheck(): ?string
    {
        return $this->appCheck;
    }

    /**
     * @return string
     */
    public function getAppId(): ?string
    {
        return $this->appId;
    }

    /**
     * @return string
     */
    public function getAppSecret(): ?string
    {
        return $this->appSecret;
    }

    /**
     * @return string
     */
    public function getContactName(): ?string
    {
        return $this->contactName;
    }

    /**
     * @return string
     */
    public function getContactPhone(): ?string
    {
        return $this->contactPhone;
    }

    /**
     * @return int
     */
    public function getCreatedAt(): ?int
    {
        return $this->createdAt;
    }

    /**
     * @return string
     */
    public function getCredit(): ?string
    {
        return $this->credit;
    }

    /**
     * @return string
     */
    public function getCreditCode(): ?string
    {
        return $this->creditCode;
    }

    /**
     * @return int|null
     */
    public function getFrozenState(): ?int
    {
        return $this->frozenState;
    }

    /**
     * @return int
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return string
     */
    public function getIdCardBack(): ?string
    {
        return $this->idCardBack;
    }

    /**
     * @return string
     */
    public function getIdCardFace(): ?string
    {
        return $this->idCardFace;
    }

    /**
     * @return string
     */
    public function getItemId(): ?string
    {
        return $this->itemId;
    }

    /**
     * @return string
     */
    public function getLegalCode(): ?string
    {
        return $this->legalCode;
    }

    /**
     * @return string
     */
    public function getLegalName(): ?string
    {
        return $this->legalName;
    }

    /**
     * @return string
     */
    public function getLogo(): ?string
    {
        return $this->logo;
    }

    /**
     * @return string
     */
    public function getName(): ?string
    {
        return $this->name;
    }

    /**
     * @return string
     */
    public function getPlatformName(): ?string
    {
        return $this->platformName;
    }

    /**
     * @return string
     */
    public function getPrefix(): ?string
    {
        return $this->prefix;
    }

    /**
     * @return string
     */
    public function getTaxAuthority(): ?string
    {
        return $this->taxAuthority;
    }

    /**
     * @return int|null
     */
    public function getUpdatedAt(): ?int
    {
        return $this->updatedAt;
    }

}
